﻿using System.Collections.Generic;
using System.Linq;
using RFMS;

namespace BU
{
    public class Loyaliteit
    {
        private ModelRFMSContainer _container;
        public Loyaliteit()
        {
            _container = ModelRFMSContainer.GetInstance();
        }

        public void KlantToevoegen(string naamKlant, string postcode)
        {
            _container.Loyaliteitset.AddObject(RFMS.Loyaliteit.CreateLoyaliteit
                (0, naamKlant, postcode));
            _container.SaveChanges();
        }

        public void TegoedWijzigen(string naamKlant, string postcode, double tegoed)
        {
            var loyaliteit = _container.Loyaliteitset.FirstOrDefault
                (p => p.NaamKlant == naamKlant && p.Postcode == postcode);
            
            loyaliteit.Tegoed = tegoed;
            _container.SaveChanges();
        }

        public List<List<object>> TegoedOphalen(string naamKlant, string postcode)
        {
            var Overzicht = from c in _container.Loyaliteitset
                                where c.NaamKlant == naamKlant && c.Postcode == postcode
                                select c;

            var lijst = new List<List<object>>();

            foreach (var overZicht in Overzicht)
            {
                lijst.Add(new List<object> { overZicht.NaamKlant, overZicht.Postcode, 
                    overZicht.Tegoed });
            }

            return lijst;
        }

        public List<List<object>> TegoedOphalen()
        {
            var Overzicht = from c in _container.Loyaliteitset
                            select c;

            var lijst = new List<List<object>>();

            foreach (var overZicht in Overzicht)
            {
                lijst.Add(new List<object> { overZicht.NaamKlant, overZicht.Postcode, 
                    overZicht.Tegoed });
            }

            return lijst;
        }
    }
}
